iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Modern Web

Django 初心者之旅系列 第 8

【Day 08】初探 Django Models

  • 分享至 

  • xImage
  •  

今天要實際去為我們的Django Project建立資料庫資料表。
這邊先複習一下,每個model都是database裡面的一張資料表。
此外,Django預設採用的是SQLite Database,所以可以在外層的myworld資料夾下看到一個名為db.sqlite3的檔案。

建立資料表

為了建立資料表,我們必須去修改members下面的models.py這個檔案。
查看models.py會發現它基本上是空的 :

之前有稍微提到在Django裡面,model就是一個個的Python Class
下面新增一個名為MembersClass,它同時也是一個model(資料表)。

from django.db import models

class Members(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)
  • class Members(models.Model)
    • 表示Members繼承自models.Model,也就是Members是一個名為Membersmodel的意思 (有點冗長...)
  • firstname = models.CharField(max_length=255)
    • 為資料表建立名為firstname的字串欄位並限制字串最大長度為255
  • lastname = models.CharField(max_length=255)
    • 為資料表建立名為lastname的字串欄位並限制字串最大長度為255

做完上面的操作,我們實際上還沒有真正在資料庫建立名為Members的資料表。

實際建立資料表

要真正在資料庫建立這張資料表,我們需要繼續按步驟往下做 :

  1. 打開CMD並切換到虛擬環境(python venv)的資料夾路徑下

    (實際venv路徑不一定會跟我一樣喔!)

  2. 輸入以下指令啟動虛擬環境

    Scripts\activate.bat
    

    啟動虛擬環境後結果如下:

  3. 接著切換路徑到Django Project所在的資料夾下

  4. 執行以下指令產生一個檔案紀錄對models的變更
    (產生的檔案會被放在migrations資料夾下)

    py manage.py makemigrations members

  5. 接著執行以下指令產生建立資料表的SQL程式碼並執行

    py manage.py migrate

做完以上5步就成功在資料庫建立Members這張資料表囉!

而實際執行的SQL程式碼如下 :

CREATE TABLE "members_members" (
"id" INT NOT NULL PRIMARY KEY AUTOINCREMENT,
"firstname" varchar(255) NOT NULL,
"lastname" varchar(255) NOT NULL);

明天會學到如何新增Record(資料表紀錄)到 Members 資料表~


上一篇
【Day 07】初探 Django Templates
下一篇
【Day 09】在 Python Shell 新增 Records
系列文
Django 初心者之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言